home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_c46.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
65KB
|
2,751 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
T6 r144can_be_dropped(T144* C){
T6 R=0;
/*[IF*/
if(X56can_be_dropped((C)->_target/*4*/)){
R=X51can_be_dropped((C)->_run_feature/*8*/);
}
/*FI]*/
return R;
}
void r144c_declare_for_old(T144* C){
X56c_declare_for_old((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
void r144dca_inline_argument(T144* C,T0* a1){
X56dca_inline_argument((C)->_target/*4*/,a1);
}
/*No:CALL_PREFIX_PLUS.compile_to_c*/
T2 r144isa_dca_inline_argument(T144* C){
T2 R=0;
/*[IF*/
if(X54is_integer(r144result_type(C))){
R=X56isa_dca_inline_argument((C)->_target/*4*/);
}
/*FI]*/
return R;
}
void r144run_feature_has_result(T144* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*8*/))==((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*8*/));
r21add_position(((T142*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r144run_feature_for(T144* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_PREFIX_PLUS.target*/
void r144error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r144make(T144* C,T0* a1,T0* a2){
{T142*n=malloc(sizeof(*n));
*n=M142;
r142make(n,r144operator(),a1);
C->_feature_name=(T0*)n;
}
C->_target=a2;
}
/*No:CALL_PREFIX_PLUS.us_plus*/
/*No:CALL_PREFIX_PLUS.is_current*/
void r144mapping_c_arg(T144* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X54run_type(r144result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T144* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T144* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T144* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T144* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T144* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_PREFIX_PLUS.is_void*/
T0* r144operator(void){
T0* R=NULL;
R=((T0*)ms14_44);
return R;
}
void r144afd_check(T144* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*8*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:CALL_INFIX_MINUS.static_value*/
/*No:CALL_INFIX_MINUS.call_proc_call_c2c*/
/*No:CALL_INFIX_MINUS.feature_name*/
void r131finalize(T131* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*16*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T6 r131is_static(T131* C){
T6 R=0;
/*[IF*/
if(X54is_integer(r131result_type(C))){
/*[IF*/
if((X56is_static((C)->_target/*4*/))&&(X56is_static(r131arg1(C)))){
R=1;
C->_static_value_mem=(X56static_value((C)->_target/*4*/))-(X56static_value(r131arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_MINUS.is_manifest_string*/
T0* r131start_position(T131* C){
T0* R=NULL;
R=((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
/*No:CALL_INFIX_MINUS.c_simple*/
T0* r131add_comment(T131* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r131to_integer(T131* C){
T2 R=0;
r131error(r131start_position(C),((T0*)ms13_45846));
return R;
}
T6 r131use_current(T131* C){
T6 R=0;
/*[IF*/
{/*AT*/R=X149use_current((C)->_arguments/*8*/);
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*16*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T0* r131to_runnable(T131* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r131runnable_expression((C)->_target/*4*/,a1);
_a=r131runnable_args((C)->_arguments/*8*/,a1);
_tt=X56result_type(_t);
_at=X56result_type(r131arg1(C));
/*[IF*/
{/*AT*//*[IF*/
if(X54is_real(_at)){
/*[IF*/
if(X54is_integer(_tt)){
_tbee=X54run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 270: case 268: case 266: case 267: case 271: case 264:
break;
default:
_tbee=NULL;
};{T377*n=malloc(sizeof(*n));
*n=M377;
r377make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
else if(X54is_double(_at)){
/*[IF*/
if((X54is_integer(_tt))||(X54is_real(_tt))){
_tbee=X54run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 270: case 268: case 266: case 267: case 271: case 264:
break;
default:
_tbee=NULL;
};{T377*n=malloc(sizeof(*n));
*n=M377;
r377make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_rf=r131run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r131run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T131*n=malloc(sizeof(*n));
*n=M131;
r131with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r131compile_to_c_old(T131* C){
X56compile_to_c_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149compile_to_c_old((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_MINUS.is_pre_computable*/
/*No:CALL_INFIX_MINUS.fz_bad_argument*/
void r131collect_c_tmp(T131* C){
/*[IF*/
if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*16*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
if(((C)->_arguments/*8*/)!=((void*)(NULL))){
X149collect_c_tmp((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_MINUS.fz_iinaiv*/
T0* r131result_type(T131* C){
T0* R=NULL;
T0* _tla=NULL;
R=X51result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X54is_like_current(R)){
R=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 258:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X54run_type(X56result_type(r131arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_MINUS.static_value_mem*/
/*No:CALL_INFIX_MINUS.run_feature*/
T0* r131runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X149to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X149start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_MINUS.fz_07*/
/*No:CALL_INFIX_MINUS.arg_count*/
void r131with(T131* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r131run_feature_match(C,a5);
}
/*No:CALL_INFIX_MINUS.is_result*/
/*No:CALL_INFIX_MINUS.fatal_error*/
void r131mapping_c_target(T131* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r25call_invariant_start(a1);
_actual_type=X54run_type(r131result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
X54mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*No:CALL_INFIX_MINUS.us_minus*/
void r131run_feature_match(T131* C,T0* a1){
r131run_feature_has_result(C);
X149match_with((C)->_arguments/*8*/,(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_MINUS.arguments*/
T0* r131runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X56to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X56start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_MINUS.can_be_dropped*/
void r131c_declare_for_old(T131* C){
X56c_declare_for_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149c_declare_for_old((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_MINUS.implicit_cast*/
void r131dca_inline_argument(T131* C,T0* a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
X56dca_inline_argument((C)->_target/*4*/,a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\55';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
X56dca_inline_argument(r131arg1(C),a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:CALL_INFIX_MINUS.compile_to_c*/
T2 r131isa_dca_inline_argument(T131* C){
T2 R=0;
R=X56isa_dca_inline_argument((C)->_target/*4*/);
/*[IF*/
if((R)==(-(1))){
R=X56isa_dca_inline_argument(r131arg1(C));
}
else if((R)>(0)){
/*[IF*/
if((X56isa_dca_inline_argument(r131arg1(C)))>=(0)){
R=0;
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r131arg1(T131* C){
T0* R=NULL;
R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*8*/))->_first_one/*4*//*)*/);
return R;
}
void r131run_feature_has_result(T131* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*16*/));
r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r131run_feature_for(T131* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_MINUS.target*/
void r131error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r131make(T131* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,r131operator(),a2);
C->_feature_name=(T0*)n;
}
{T149*n=malloc(sizeof(*n));
*n=M149;
/*[IRF3.3make_1*/((((T149*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_MINUS.is_current*/
void r131mapping_c_arg(T131* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X54run_type(r131result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T131* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_INFIX_MINUS.is_void*/
T0* r131operator(void){
T0* R=NULL;
R=((T0*)ms14_46);
return R;
}
void r131afd_check(T131* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149afd_check((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:ADDRESS_OF.static_value*/
/*No:ADDRESS_OF.feature_name*/
/*No:ADDRESS_OF.is_static*/
/*No:ADDRESS_OF.is_manifest_string*/
T0* r160start_position(T160* C){
T0* R=NULL;
R=X83start_position((C)->_feature_name/*4*/);
return R;
}
/*No:ADDRESS_OF.c_simple*/
T0* r160add_comment(T160* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r160to_integer(T160* C){
T2 R=0;
r160error(r160start_position(C),((T0*)ms13_45846));
return R;
}
/*No:ADDRESS_OF.use_current*/
T0* r160to_runnable(T160* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*8*/)==((void*)(NULL))){
C->_current_type=a1;
C->_run_feature=r24get_rf_with((T24*)(X54run_class(a1)),(C)->_feature_name/*4*/);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
r160error(r160start_position(C),((T0*)ms160_24192));
}
else{
r349register_for((T0*)C);
}
/*FI]*/
R=(T0*)C;
}
else{
{T160*n=malloc(sizeof(*n));
*n=M160;
/*[IRF3.3make*/((((T160*)(n)))->_feature_name)=((C)->_feature_name/*4*/);
/*]*/
R=(T0*)n;
}
R=r160to_runnable(((T160*)R),a1);
}
/*FI]*/
return R;
}
/*No:ADDRESS_OF.compile_to_c_old*/
/*No:ADDRESS_OF.is_pre_computable*/
/*No:ADDRESS_OF.collect_c_tmp*/
/*No:ADDRESS_OF.fz_iinaiv*/
/*No:ADDRESS_OF.result_type*/
/*No:ADDRESS_OF.run_feature*/
/*No:ADDRESS_OF.is_result*/
int fBC12type_pointer=0;
T0*oBC12type_pointer=NULL;
T0* r160type_pointer(void){
if(fBC12type_pointer==0){
fBC12type_pointer=1;
{T270*n=malloc(sizeof(*n));
*n=M270;
r270make(n,NULL);
oBC12type_pointer=(T0*)n;
}
}
return oBC12type_pointer;}
/*No:ADDRESS_OF.mapping_c_target*/
/*No:ADDRESS_OF.can_be_dropped*/
/*No:ADDRESS_OF.c_declare_for_old*/
/*No:ADDRESS_OF.dca_inline_argument*/
void r160compile_to_c(T160* C){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms160_9906));
/*]*/
X51address_of_c_mapping((C)->_run_feature/*12*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:ADDRESS_OF.isa_dca_inline_argument*/
/*No:ADDRESS_OF.current_type*/
void r160error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:ADDRESS_OF.make*/
/*No:ADDRESS_OF.is_current*/
/*No:ADDRESS_OF.mapping_c_arg*/
/*No:ADDRESS_OF.is_void*/
/*No:ADDRESS_OF.afd_check*/
/*No:CST_ATT_CHARACTER.base_class*/
/*No:CST_ATT_CHARACTER.value_mem*/
T0* r206start_position(T206* C){
T0* R=NULL;
R=X83start_position(/*(IRF4.6first_name*/r85item(((T85*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r206is_merge_with(T206* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r187is_a_in((T187*)(/*(IRF4.1arguments*/NULL/*)*/),X93arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X54is_a_in(X93result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r187is_a_in((T187*)(X93arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r206merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_CHARACTER.first_name*/
/*No:CST_ATT_CHARACTER.em1*/
/*No:CST_ATT_CHARACTER.header_comment*/
/*No:CST_ATT_CHARACTER.names*/
/*No:CST_ATT_CHARACTER.result_type*/
/*No:CST_ATT_CHARACTER.code_require*/
/*No:CST_ATT_CHARACTER.make_e_feature*/
void r206add_into(T206* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r70base_class((T70*)(X83start_position(r85item((T85*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r85count((T85*)((C)->_names/*8*/))))) {
_fn=r85item((T85*)((C)->_names/*8*/),_i);
/*[IF*/
if(r92has(((T92*)a1),X83to_key(_fn))){
_fn=/*X93first_name*/((T0*)/*(IRF4.6first_name*/r85item(((T85*)(((T199*)(r92at(((T92*)a1),X83to_key(_fn))))->_names/*8*/)),1)/*)*/);
r21add_position(X83start_position(_fn));
r21add_position(X83start_position(r85item((T85*)((C)->_names/*8*/),_i)));
r21error((T21*)(oBC12eh),((T0*)ms93_41905));
/*[IRF3.6append*/{T0* b1=X83to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
else{
r92put(((T92*)a1),(T0*)C,X83to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r206can_hide(T206* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
r21add_position(X93start_position(a1));
r206error(r206start_position(C),((T0*)ms93_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
/*[IF*/
{/*AT*/r21add_position(X93start_position(a1));
r206error(r206start_position(C),((T0*)ms93_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms93_54285);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)a2))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r206merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_CHARACTER.ensure_assertion*/
T0* r206try_to_undefine(T206* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r21add_position(X83start_position(a1));
_fn2=r85feature_name((T85*)((C)->_names/*8*/),X83to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X83undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r206try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X284set_clients*//*[IRF3.3set_clients*/((((T287*)(((T287*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r206merge_header_comments(C,R);
}
else{
r63fatal_undefine(((T63*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_CHARACTER.is_deferred*/
/*No:CST_ATT_CHARACTER.set_clients*/
/*No:CST_ATT_CHARACTER.value*/
/*No:CST_ATT_CHARACTER.nb_errors*/
T0* r206to_run_feature(T206* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(a1);
R=r24at(((T24*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 376:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T376*n=malloc(sizeof(*n));
*n=M376;
r376make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r206merge_header_comments(T206* C,T0* a1){
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/);
}
else if((/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X93set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_CHARACTER.arguments*/
/*No:CST_ATT_CHARACTER.require_assertion*/
T0* r206try_to_undefine_aux(T206* C,T0* a1,T0* a2){
T0* R=NULL;
r21add_position(r206start_position(C));
r206error(X83start_position(a1),((T0*)ms201_99414));
r63fatal_undefine(((T63*)a2),a1);
return R;
}
/*No:CST_ATT_CHARACTER.fz_dot*/
/*No:CST_ATT_CHARACTER.stupid_switch*/
void r206error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r206make(T206* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T206*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}
void r206collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r358fast_has((T358*)(oBC93require_collector),_er))){
r358add_last((T358*)(oBC93require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_CHARACTER.set_header_comment*/
/*No:CST_ATT_CHARACTER.clients*/
/*No:TYPE_ANY.fz_null*/
/*No:TYPE_ANY.fz_void*/
/*No:TYPE_ANY.start_position*/
void r259standard_c_print_function(T259* C){
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
r24c_print_function((T24*)(r259run_class(C)));
}
/*FI]*/
}
/*No:TYPE_ANY.used_as_reference*/
T2 r259id(T259* C){
T2 R=0;
R=((T63*)(r259base_class(C)))->_id/*0*/;
return R;
}
/*No:TYPE_ANY.is_user_expanded*/
/*No:TYPE_ANY.is_pointer*/
T0* r259to_runnable(T259* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r259check_type(C);
return R;
}
/*No:TYPE_ANY.c_initialize_in*/
/*No:TYPE_ANY.gc_define1*/
/*No:TYPE_ANY.to_reference*/
void r259gc_mark_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms13_8869));
r2append_in(r259id(C),a1);
}
T0* r259run_class(T259* C){
T0* R=NULL;
R=r22run_class((T0*)C);
return R;
}
/*No:TYPE_ANY.c_header_pass2*/
void r259c_header_pass4(T259* C){
/*[IF*/
if(r259need_c_struct(C)){
r259standard_c_struct(C);
}
/*FI]*/
r259standard_c_object_model(C);
r259standard_c_print_function(C);
}
/*No:TYPE_ANY.is_like_current*/
/*No:TYPE_ANY.is_bit*/
void r259gc_store_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_2860));
r2append_in(r259id(C),a1);
}
/*No:TYPE_ANY.smallest_ancestor*/
void r259gc_info_nb_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_15070));
r2append_in(r259id(C),a1);
}
/*No:TYPE_ANY.fz_eq_h*/
T0* r259run_time_mark(void){
T0* R=NULL;
R=((T0*)ms14_714);
return R;
}
/*No:TYPE_ANY.is_expanded*/
void r259standard_gc_define2(T259* C){
T6 _gc_check_id=0;
T2 _rcid=0;
T0* _rc=NULL;
_rc=r259run_class(C);
_rcid=(((T24*)_rc))->_id/*4*/;
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_11536));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_6480));
r7copy((T7*)(((T0*)ms54_3077376)),((T0*)ms54_410));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_667749));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_629541));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_7450784));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_14432));
r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r259gc_mark_in(C,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_254a));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_600));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_3077376)))))->_count)=(0);
/*]*/
_gc_check_id=(r24is_tagged(((T24*)_rc)))&&(r43no_check((T43*)(oBC12run_control)));
/*[IF*/
if(_gc_check_id){
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_21692));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_972));
}
/*FI]*/
r24gc_mark_fixed_size(((T24*)_rc),0,((T0*)ms54_3077376));
/*[IF*/
if(_gc_check_id){
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_276));
}
/*FI]*/
r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r259gc_align_mark_in(C,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_14720));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_603));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_3077376)))))->_count)=(0);
/*]*/
r24gc_align_mark_fixed_size(((T24*)_rc),((T0*)ms54_3077376));
r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms54_5436));
r2append_in(_rcid,((T0*)ms54_785024a));
r7copy((T7*)(((T0*)ms54_3077376)),((T0*)ms54_455742));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_78450));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_345762));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1580));
r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024a)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms54_785024a)),'T');
r2append_in(_rcid,((T0*)ms54_785024a));
r7extend((T7*)(((T0*)ms54_785024a)),'\52');
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1008));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_4410));
r7copy((T7*)(((T0*)ms54_3077376)),((T0*)ms13_410));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_924));
/*[IF*/
if(((T330*)(oBC12gc_handler))->_info_flag/*4*/){
r259gc_info_nb_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_660));
}
/*FI]*/
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_759));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1500));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_3900));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_13425));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11209));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_39879));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_2460));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_752));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_104196));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11970));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11264));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_55955));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_9790aa));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11214aa));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_34360aa));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_32340));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1433339));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_52000));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1305));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_9790a));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11214a));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_34360a));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_76164));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1800));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_free_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_16175));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_15246));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_9790));
r259gc_store_chunk_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11214));
r259gc_store_left_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_34360));
r259gc_store_in(C,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_25650));
/*[IF*/
if(r259need_c_struct(C)){
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_14168));
r2append_in(_rcid,((T0*)ms54_3077376));
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
}
/*FI]*/
r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_12699));
r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
}
/*No:TYPE_ANY.gc_info_in*/
/*No:TYPE_ANY.gc_define2*/
/*No:TYPE_ANY.is_like_feature*/
/*No:TYPE_ANY.fz_dot*/
T6 r259is_a(T259* C,T0* a1){
T6 R=0;
/*[IF*/
if(X54is_any(a1)){
R=1;
}
else if(X54is_none(a1)){
}
else{
R=r63is_subclass_of((T63*)(r259base_class(C)),X54base_class(a1));
}
/*FI]*/
/*[IF*/
if(!(R)){
r21add_type((T0*)C,((T0*)ms13_17730));
r21add_type(a1,((T0*)ms13_47));
}
/*FI]*/
return R;
}
void r259gc_free_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_8645));
r2append_in(r259id(C),a1);
}
/*No:TYPE_ANY.c_initialize*/
/*No:TYPE_ANY.is_character*/
T0* r259written_mark(void){
T0* R=NULL;
R=((T0*)ms14_714);
return R;
}
void r259error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r259make(T259* C,T0* a1){
{T64*n=malloc(sizeof(*n));
*n=M64;
r64make(n,((T0*)ms14_714),a1);
C->_base_class_name=(T0*)n;
}
}
void r259demangling_in(T0* a1){
/*[IF*/
{/*AT*/r7extend(((T7*)a1),'R');
}
/*FI]*/
r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),r259run_time_mark());
}
void r259standard_gc_define1(T259* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r259run_class(C);
_rcid=(((T24*)_rc))->_id/*4*/;
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_6568));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_5600));
r7extend((T7*)(((T0*)ms54_785024a)),'B');
r2append_in(_rcid,((T0*)ms54_785024a));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_410));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_144));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_5600));
r7extend((T7*)(((T0*)ms54_785024a)),'B');
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_420));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_78962));
r2append_in(_rcid,((T0*)ms54_785024a));
r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_12312));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024a));
/*]*/
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_410));
r2append_in(_rcid,((T0*)ms54_785024a));
r7extend((T7*)(((T0*)ms54_785024a)),'\52');
r259gc_store_in(C,((T0*)ms54_785024a));
r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms13_1300));
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1011));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r259gc_store_left_in(C,((T0*)ms54_785024a));
r25put_extern2((T25*)(oBC12cpp),((T0*)ms54_785024a),'0');
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms54_2420));
r259gc_store_chunk_in(C,((T0*)ms54_785024a));
r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms13_1300));
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_410));
r2append_in(_rcid,((T0*)ms54_785024a));
r7extend((T7*)(((T0*)ms54_785024a)),'\52');
r259gc_free_in(C,((T0*)ms54_785024a));
r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms13_1300));
/*[IF*/
if(((T330*)(oBC12gc_handler))->_info_flag/*4*/){
r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1011));
r7extend((T7*)(((T0*)ms54_785024a)),'\40');
r259gc_info_nb_in(C,((T0*)ms54_785024a));
r25put_extern2((T25*)(oBC12cpp),((T0*)ms54_785024a),'0');
}
/*FI]*/
}
/*No:TYPE_ANY.fz_typedef*/
void r259fatal_error_generic_list(T259* C){
r21add_type((T0*)C,((T0*)ms54_29184));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*No:TYPE_ANY.is_array*/
/*No:TYPE_ANY.fz_int*/
/*No:TYPE_ANY.tmp_string*/
/*No:TYPE_ANY.is_dummy_expanded*/
/*No:TYPE_ANY.space_for_variable*/
/*No:TYPE_ANY.to_expanded*/
T0* r259generic_list(T259* C){
T0* R=NULL;
r259fatal_error_generic_list(C);
return R;
}
T0* r259base_class(T259* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r64base_class(((T64*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms54_37098);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type((T0*)C,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
return R;
}
void r259cast_to_ref(T259* C){
X54cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
}
/*No:TYPE_ANY.base_class_name*/
/*No:TYPE_ANY.fz_se_cmpt*/
/*No:TYPE_ANY.is_formal_generic*/
T6 r259is_a_in(T259* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r259written_mark())==((void*)(X54written_mark(a1)))){
R=1;
}
else{
_ct=(((T24*)a2))->_current_type/*0*/;
_t1=r259to_runnable(C,_ct);
_t2=X54to_runnable(a1,_ct);
/*[IF*/
if((X54run_time_mark(_t1))==((void*)(X54run_time_mark(_t2)))){
R=1;
}
else{
R=X54is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_ANY.body*/
T0* r259look_up_for(T259* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r259base_class(C)),a1,a2);
return R;
}
/*No:TYPE_ANY.fz_00*/
/*No:TYPE_ANY.fz_10*/
void r259c_type_for_external_in(T0* a1){
/*[IF*/
{/*AT*/r7append(((T7*)a1),((T0*)ms13_1776a));
r7extend(((T7*)a1),'\52');
}
/*FI]*/
}
/*No:TYPE_ANY.c_type_for_argument_in*/
/*No:TYPE_ANY.c_header_pass1*/
/*No:TYPE_ANY.fz_printf*/
void r259c_type_for_target_in(T259* C,T0* a1){
r7extend(((T7*)a1),'T');
r2append_in(r259id(C),a1);
r7extend(((T7*)a1),'\52');
}
/*No:TYPE_ANY.c_type_for_result_in*/
/*No:TYPE_ANY.run_type*/
/*No:TYPE_ANY.fz_gc_sweep*/
/*No:TYPE_ANY.expanded_initializer*/
void r259c_frame_descriptor(T259* C){
r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
/*[IF*/
{/*AT*/r7extend((T7*)(oBC12c_frame_descriptor_format),'R');
}
/*FI]*/
r2append_in(r259id(C),oBC12c_frame_descriptor_format);
r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
}
T6 r259has_creation(T259* C,T0* a1){
T6 R=0;
r21add_position(X83start_position(a1));
r259error(/*(IRF4.6start_position*/(((T64*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms259_27380));
return R;
}
/*No:TYPE_ANY.fz_t0_star*/
T2 r259space_for_pointer(void){
T2 R=0;
T8 _p=0;
R=sizeof(T8);
return R;
}
/*No:TYPE_ANY.c_header_pass3*/
/*No:TYPE_ANY.fz_14*/
void r259gc_call_new_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms13_1008));
r2append_in(r259id(C),a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
/*No:TYPE_ANY.fz_new*/
/*No:TYPE_ANY.is_boolean*/
void r259mapping_cast(T259* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_15696)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms54_15696)),'\50');
r259c_type_for_target_in(C,((T0*)ms54_15696));
r7extend((T7*)(((T0*)ms54_15696)),'\51');
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_15696));
/*]*/
}
/*No:TYPE_ANY.is_generic*/
/*No:TYPE_ANY.fz_struct*/
/*No:TYPE_ANY.is_real*/
T6 r259need_c_struct(T259* C){
T6 R=0;
/*[IF*/
if(r24is_tagged((T24*)(r259run_class(C)))){
R=1;
}
else{
R=(r24writable_attributes((T24*)(r259run_class(C))))!=((void*)(NULL));
}
/*FI]*/
return R;
}
/*No:TYPE_ANY.is_any*/
/*No:TYPE_ANY.nb_errors*/
void r259standard_gc_info_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms13_7104));
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\42');
r7append(((T7*)a1),r259run_time_mark());
r7append(((T7*)a1),((T0*)ms13_6030));
r259gc_info_nb_in(C,a1);
r7append(((T7*)a1),((T0*)ms13_348));
r7append(((T7*)a1),((T0*)ms13_7104));
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\42');
r259gc_store_left_in(C,a1);
r7append(((T7*)a1),((T0*)ms13_6030));
r259gc_store_left_in(C,a1);
r7append(((T7*)a1),((T0*)ms13_348));
}
/*No:TYPE_ANY.header*/
void r259standard_c_struct(T259* C){
T0* _t=NULL;
T0* _a=NULL;
T2 _mem_id=0;
T2 _i=0;
T0* _wa=NULL;
_mem_id=r259id(C);
_wa=r24writable_attributes((T24*)(r259run_class(C)));
r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_5600));
r7extend((T7*)(((T0*)ms54_785024)),'S');
r2append_in(_mem_id,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\173');
/*[IF*/
{/*AT*//*[IF*/
if(r24is_tagged((T24*)(r259run_class(C)))){
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_6272));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(((T361*)_wa))->_upper/*12*/;
while (!((_i)==(0))) {
_a=r361item(((T361*)_wa),_i);
_t=X54run_type((((T356*)_a))->_result_type/*28*/);
X54c_type_for_result_in(_t,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'\137');
r7append((T7*)(((T0*)ms54_785024)),X83to_string((((T356*)_a))->_name/*16*/));
r7extend((T7*)(((T0*)ms54_785024)),'\73');
_i=(_i)-(1);
}
}
/*FI]*/
r7extend((T7*)(((T0*)ms54_785024)),'\175');
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
/*]*/
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:TYPE_ANY.is_basic_eiffel_expanded*/
/*No:TYPE_ANY.fz_gc_mark*/
void r259gc_store_chunk_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_19239));
r2append_in(r259id(C),a1);
}
/*No:TYPE_ANY.need_gc_mark_function*/
T6 r259is_native_array(T259* C){
T6 R=0;
T0* _tna=NULL;
_tna=(T0*)C;
if(NULL!=(_tna))switch(((T0*)_tna)->id) {
case 263:
break;
default:
_tna=NULL;
};R=(_tna)!=((void*)(NULL));
return R;
}
/*No:TYPE_ANY.is_string*/
void r259gc_align_mark_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_24804));
r2append_in(r259id(C),a1);
}
/*No:TYPE_ANY.is_integer*/
/*No:TYPE_ANY.is_anchored*/
/*No:TYPE_ANY.is_run_type*/
void r259standard_c_object_model(T259* C){
T0* _rc=NULL;
T2 _mem_id=0;
_rc=r259run_class(C);
_mem_id=(((T24*)_rc))->_id/*4*/;
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms54_785024)),'T');
r2append_in(_mem_id,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'M');
r2append_in(_mem_id,((T0*)ms54_785024));
r25put_extern7((T25*)(oBC12cpp),((T0*)ms54_785024));
/*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
/*]*/
r24c_object_model_in(((T24*)_rc),((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
/*]*/
r25swap_on_h((T25*)(oBC12cpp));
}
/*No:TYPE_ANY.is_reference*/
/*No:TYPE_ANY.us_any*/
void r259standard_just_before_gc_mark_in(T259* C,T0* a1){
r259gc_free_in(C,a1);
r7extend(((T7*)a1),'\75');
r7append(((T7*)a1),((T0*)ms13_1300));
r7append(((T7*)a1),((T0*)ms13_144));
}
/*No:TYPE_ANY.is_none*/
/*No:TYPE_ANY.fz_inako*/
/*No:TYPE_ANY.fz_c_void_args*/
/*No:TYPE_ANY.is_like_argument*/
/*No:TYPE_ANY.just_before_gc_mark_in*/
void r259gc_store_left_in(T259* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_17320));
r2append_in(r259id(C),a1);
}
/*No:TYPE_ANY.mapping_cast_memory*/
int fBC259check_type=0;
void r259check_type(T259* C){
if (fBC259check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC259check_type=1;
_bc=r259base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r259run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if((((T63*)_bc))->_is_expanded/*20*/){
r259error(/*(IRF4.6start_position*/(((T64*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms259_38450));
}
/*FI]*/
}
/*FI]*/
}}
/*No:TYPE_ANY.fz_gc*/
/*No:TYPE_ANY.is_double*/
void r259standard_c_typedef(T259* C){
T2 _mem_id=0;
_mem_id=r259id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
/*]*/
/*[IF*/
if(r259need_c_struct(C)){
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_5600));
r7extend((T7*)(((T0*)ms54_785024)),'S');
r2append_in(_mem_id,((T0*)ms54_785024));
r7extend((T7*)(((T0*)ms54_785024)),'\40');
r7extend((T7*)(((T0*)ms54_785024)),'T');
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
}
/*AF*/ else {/*AT*/r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_1776a));
r7extend((T7*)(((T0*)ms54_785024)),'\52');
r7extend((T7*)(((T0*)ms54_785024)),'T');
r2append_in(_mem_id,((T0*)ms54_785024));
r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
}
/*FI]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
/*]*/
}
T6 r63is_general(T63* C){
T6 R=0;
R=(((T0*)ms14_6412))==((void*)(((T64*)((C)->_name/*24*/))->_to_string/*0*/));
return R;
}
T0* r63root_procedure(T63* C,T0* a1){
T0* R=NULL;
T0* _f=NULL;
T0* _rc=NULL;
/*[IF*/
if(/*(IRF4.7is_generic*/((C)->_formal_generic_list/*28*/)!=(NULL)/*)*/){
/*[IRF3.6append*/{T0* b1=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_148460);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
/*[IF*/
if((C)->_is_deferred/*16*/){
/*[IRF3.6append*/{T0* b1=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_153753);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
}
/*FI]*/
_rc=r63run_class(C);
r24set_at_run_time(((T24*)_rc));
_f=r63look_up_for(C,_rc,a1);
/*[IF*/
if((_f)==((void*)(NULL))){
r21add_position((((T148*)a1))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_40425);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
R=_f;
if(NULL!=(R))switch(((T0*)R)->id) {
case 302:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X93start_position(_f));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_60357);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r63fatal_undefine(T63* C,T0* a1){
/*[IRF3.6append*/{T0* b1=((T0*)ms63_36660);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X83to_string(a1);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_3192);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_166);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
T0* r63going_up(T63* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63going_up((T63*)(r63class_any()),a1,a2,a3);
}
else{
R=r78going_up((T78*)((C)->_parent_list/*40*/),a1,a2,a3);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.creation_clause_list*/
/*No:BASE_CLASS.set_obsolete_type_string*/
void r63add_feature_clause(T63* C,T0* a1){
/*[IF*/
if(((C)->_feature_clause_list/*48*/)==((void*)(NULL))){
{T95*n=malloc(sizeof(*n));
*n=M95;
/*[IRF3.3make*/((((T95*)(n)))->_list)=(se_ma97(1,
a1));
/*]*/
C->_feature_clause_list=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r97add_last(((T97*)(((T95*)((C)->_feature_clause_list/*48*/))->_list/*0*/)),a1);
/*]*/
}
/*FI]*/
}
/*No:BASE_CLASS.id*/
/*No:BASE_CLASS.heading_comment2*/
void r63get_started(T63* C){
C->_id=r102item((T102*)(r63id_provider()),((T64*)((C)->_name/*24*/))->_to_string/*0*/);
/*[IF*/
if(((C)->_feature_clause_list/*48*/)!=((void*)(NULL))){
r95get_started((T95*)((C)->_feature_clause_list/*48*/),(C)->_feature_dictionary/*60*/);
}
/*FI]*/
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
r78get_started((T78*)((C)->_parent_list/*40*/));
}
/*FI]*/
/*[IF*/
if(((C)->_end_comment/*56*/)!=((void*)(NULL))){
r82good_end((T82*)((C)->_end_comment/*56*/),(C)->_name/*24*/);
}
/*FI]*/
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
/*[IRF3.3clear*/((((T67*)((T67*)(oBC63visited))))->_upper)=(-(1));
/*]*/
r67add_last((T67*)(oBC63visited),(T0*)C);
r78inherit_cycle_check((T78*)((C)->_parent_list/*40*/));
}
/*FI]*/
/*[IF*/
if(((r43all_check((T43*)(oBC12run_control)))&&((C)->_is_deferred/*16*/))&&(((C)->_creation_clause_list/*44*/)!=((void*)(NULL)))){
r21add_position(((T64*)((C)->_name/*24*/))->_start_position/*4*/);
r63warning(r74start_position((T74*)((C)->_creation_clause_list/*44*/)),((T0*)ms63_172312));
}
/*FI]*/
}
T0* r63new_name_of_original(T63* C,T0* a1,T0* a2){
T0* R=NULL;
/*[IF*/
if((C)==((void*)(a1))){
R=a2;
}
else if(r63is_general(C)){
R=a2;
}
else{
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63new_name_of((T63*)(r63class_any()),a1,a2);
}
else{
/*[IRF3.3clear*/((((T340*)((T340*)(oBC63going_up_trace))))->_upper)=(-(1));
/*]*/
R=r78going_up((T78*)((C)->_parent_list/*40*/),oBC63going_up_trace,a1,a2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r63run_class(T63* C){
T0* R=NULL;
T0* _type=NULL;
T0* _n=NULL;
T0* _rcd=NULL;
_n=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
_rcd=oBC22run_class_dictionary;
/*[IF*/
if(r59has(((T59*)_rcd),_n)){
R=r59at(((T59*)_rcd),_n);
}
else{
{T273*n=malloc(sizeof(*n));
*n=M273;
/*[IRF3.3make*/((((T273*)(n)))->_base_class_name)=((C)->_name/*24*/);
/*]*/
_type=(T0*)n;
}
R=r273run_class(((T273*)_type));
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.feature_clause_list*/
/*No:BASE_CLASS.formal_generic_list*/
T6 r63once_flag(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(((C)->_once_mark_list/*64*/)==((void*)(NULL))){
{T62*n=malloc(sizeof(*n));
*n=M62;
r62with_capacity(n,4);
C->_once_mark_list=(T0*)n;
}
r62add_last((T62*)((C)->_once_mark_list/*64*/),a1);
}
else if(r62fast_has((T62*)((C)->_once_mark_list/*64*/),a1)){
R=1;
}
else{
r62add_last((T62*)((C)->_once_mark_list/*64*/),a1);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.set_end_comment*/
T0* r63get_copy(T63* C){
T0* R=NULL;
R=r92at((T92*)((C)->_feature_dictionary/*60*/),((T0*)ms14_1812));
return R;
}
T0* r63super_look_up_for(T63* C,T0* a1,T0* a2){
T0* R=NULL;
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
/*[IF*/
if(r63is_general(C)){
R=NULL;
}
else{
R=r63look_up_for((T63*)(r63class_any()),a1,a2);
}
/*FI]*/
}
else{
R=r78look_up_for((T78*)((C)->_parent_list/*40*/),a1,a2);
}
/*FI]*/
return R;
}
T0*oBC63visited=NULL;
/*No:BASE_CLASS.fatal_error*/
/*No:BASE_CLASS.parent_list*/
/*No:BASE_CLASS.is_expanded*/
void r63collect_invariant(T63* C,T0* a1){
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
r78collect_invariant((T78*)((C)->_parent_list/*40*/),a1);
}
/*FI]*/
/*[IF*/
if(((C)->_class_invariant/*52*/)!=((void*)(NULL))){
/*[IRF3.6collect_invariant*/{T0* b1=(C)->_class_invariant/*52*/;
r104add_into(((T104*)b1),oBC24ci_collector);
}/*]*/
}
/*FI]*/
}
void r63fatal_error_vdrd6(T0* a1,T0* a2,T0* a3){
r21add_position(X93start_position(a1));
r21add_position(X93start_position(a2));
/*[IRF3.6append*/{T0* b1=((T0*)ms63_18000);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a3;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_fatal_error((T21*)(oBC12eh));
}
T0* r63clients_for(T63* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r63proper_has(C,a1)){
R=X93clients(r92at((T92*)((C)->_feature_dictionary/*60*/),X83to_key(a1)));
}
else if(r63is_general(C)){
}
else if(((C)->_parent_list/*40*/)==((void*)(NULL))){
R=r63clients_for((T63*)(r63class_any()),a1);
}
else{
R=r78clients_for((T78*)((C)->_parent_list/*40*/),a1);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.us_general*/
void r63warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
/*No:BASE_CLASS.obsolete_type_string*/
T0* r63class_with(T0* a1){
T0* R=NULL;
R=r22get_class(a1);
return R;
}
/*No:BASE_CLASS.set_formal_generic_list*/
/*No:BASE_CLASS.fz_dot*/
int fBC12class_any=0;
T0*oBC12class_any=NULL;
T0* r63class_any(void){
if(fBC12class_any==0){
fBC12class_any=1;
oBC12class_any=r63class_with(((T0*)ms14_714));
}
return oBC12class_any;}
void r63error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:BASE_CLASS.class_invariant*/
void r63make(T63* C){
{T67*n=malloc(sizeof(*n));
*n=M67;
r67with_capacity(n,16);
C->_isom=(T0*)n;
}
C->_path=r84item(((T72*)(oBC12parser_buffer))->_path/*0*/);
{T64*n=malloc(sizeof(*n));
*n=M64;
r64make_unknown(n);
C->_name=(T0*)n;
}
{T92*n=malloc(sizeof(*n));
*n=M92;
/*[IRF3.4make*/r92with_capacity(n,32);
/*]*/
C->_feature_dictionary=(T0*)n;
}
}
/*No:BASE_CLASS.heading_comment1*/
T0* r63id_provider(void){
if(fBC12id_provider==0){
fBC12id_provider=1;
{T102*n=malloc(sizeof(*n));
*n=M102;
r102make(n);
oBC12id_provider=(T0*)n;
}
}
return oBC12id_provider;}
void r63mapping_c_in(T63* C,T0* a1){
r7extend(((T7*)a1),'B');
r7extend(((T7*)a1),'C');
r2append_in((C)->_id/*0*/,a1);
}
void r63collect_for(T63* C,T2 a1,T0* a2){
T0* _fn_key=NULL;
_fn_key=X83to_key(a2);
/*[IF*/
if(r92has((T92*)((C)->_feature_dictionary/*60*/),_fn_key)){
X93collect_for(r92at((T92*)((C)->_feature_dictionary/*60*/),_fn_key),a1);
}
/*FI]*/
/*[IF*/
if(((C)->_parent_list/*40*/)==((void*)(NULL))){
/*[IF*/
if(r63is_general(C)){
}
else{
r63collect_for((T63*)(r63class_any()),a1,a2);
}
/*FI]*/
}
else{
r78collect_for((T78*)((C)->_parent_list/*40*/),a1,a2);
}
/*FI]*/
}
/*No:BASE_CLASS.end_comment*/
/*No:BASE_CLASS.name*/
/*No:BASE_CLASS.set_heading_comment1*/
T0*oBC63going_up_trace=NULL;
/*No:BASE_CLASS.us_copy*/
T6 r63has(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(r92has((T92*)((C)->_feature_dictionary/*60*/),X83to_key(a1))){
R=1;
}
else{
R=r63super_has(C,a1);
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.set_heading_comment2*/
void r63vdrd6(T0* a1,T0* a2,T0* a3){
T0* _rt2=NULL;
T0* _rt1=NULL;
T0* _ct=NULL;
T0* _writable_attribute=NULL;
_writable_attribute=a2;
if(NULL!=(_writable_attribute))switch(((T0*)_writable_attribute)->id) {
case 314:
break;
default:
_writable_attribute=NULL;
};/*[IF*/
if((_writable_attribute)!=((void*)(NULL))){
_writable_attribute=a3;
if(NULL!=(_writable_attribute))switch(((T0*)_writable_attribute)->id) {
case 314:
break;
default:
_writable_attribute=NULL;
};/*[IF*/
if((_writable_attribute)==((void*)(NULL))){
r63fatal_error_vdrd6(a2,a3,((T0*)ms63_197701));
}
else{
/*[IRF3.3set_isa_redefinition*/((((T314*)(((T314*)_writable_attribute))))->_isa_redefinition)=(1);
/*]*/
_ct=(((T24*)a1))->_current_type/*0*/;
_rt1=X54to_runnable(X93result_type(a2),_ct);
_rt2=X54to_runnable(X93result_type(a3),_ct);
/*[IF*/
if(X54is_reference(_rt1)){
/*[IF*/
if(X54is_reference(_rt2)){
}
else{
r63fatal_error_vdrd6(a2,a3,((T0*)ms63_229320));
}
/*FI]*/
}
else if(X54is_reference(_rt2)){
r63fatal_error_vdrd6(a2,a3,((T0*)ms63_229320));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
T6 r63has_simple_feature_name(T63* C,T0* a1){
T6 R=0;
r148make((T148*)(r63mem_fn()),a1,NULL);
R=r63has(C,r63mem_fn());
return R;
}
T6 r63is_subclass_of(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(r67fast_has((T67*)((C)->_isom/*68*/),a1)){
R=1;
}
else{
/*[IF*/
if(r63is_any(((T63*)a1))){
R=1;
}
else{
/*[IRF3.3clear*/((((T67*)((T67*)(oBC63visited))))->_upper)=(-(1));
/*]*/
R=r63is_subclass_of_aux(C,a1);
}
/*FI]*/
/*[IF*/
if(R){
r67add_last((T67*)((C)->_isom/*68*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:BASE_CLASS.next_parent_for*/
/*No:BASE_CLASS.index_list*/
/*No:BASE_CLASS.once_mark_list*/
void r63set_invariant(T63* C,T0* a1,T0* a2,T0* a3){
/*[IF*/
if(((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))){
{T104*n=malloc(sizeof(*n));
*n=M104;
r104make(n,a1,a2,a3);
C->_class_invariant=(T0*)n;
}
}
/*FI]*/
}
/*No:BASE_CLASS.path*/
/*No:BASE_CLASS.vdrd6_types*/
T0* r63look_up_for(T63* C,T0* a1,T0* a2){
T0* R=NULL;
T2 _i=0;
T0* _super_fn=NULL;
T0* _fnl=NULL;
T0* _cst_att=NULL;
T0* _fn_key=NULL;
T0* _super=NULL;
_fn_key=X83to_key(a2);
/*[IF*/
if(r92has((T92*)((C)->_feature_dictionary/*60*/),_fn_key)){
R=r92at((T92*)((C)->_feature_dictionary/*60*/),_fn_key);
_super=r63super_look_up_for(C,a1,a2);
/*[IF*/
if(((_super)!=((void*)(NULL)))&&((_super)!=((void*)(R)))){
r63vdrd6(a1,_super,R);
_cst_att=_super;
if(NULL!=(_cst_att))switch(((T0*)_cst_att)->id) {
case 213: case 211: case 205: case 212: case 199: case 210: case 207: case 206:
break;
default:
_cst_att=NULL;
};/*[IF*/
if((_cst_att)!=((void*)(NULL))){
r21add_position(X93start_position(_super));
r21add_position(X93start_position(R));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_82732);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
_fnl=/*X93names*/((T0*)(((T199*)_super))->_names/*8*/);
_i=r85count(((T85*)_fnl));
while (!((_i)<(1))) {
_super_fn=r85item(((T85*)_fnl),_i);
/*[IF*/
if(X83is_frozen(_super_fn)){
/*[IF*/
if((X83to_key(_super_fn))==((void*)(_fn_key))){
r21add_position(X83start_position(_super_fn));
r21add_position(X93start_position(R));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms63_66924);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if(!(X93can_hide(R,_super,a1))){
r21add_position(X93start_position(_super));
r21add_position(X93start_position(R));
/*[IRF3.6append*/{T0* b1=((T0*)ms63_90129);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
}
/*FI]*/
/*[IF*/
if(X93is_deferred(_super)){
}
else if(r63has_redefine(C,a2)){
}
else{
r21add_position(X93start_position(R));
r21add_position(X93start_position(_super));
/*[IRF3.6append*/{T0* b1=((T0*)ms63_30936);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_33000);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_error((T21*)(oBC12eh));
}
/*FI]*/
}
/*FI]*/
}
else{
R=r63super_look_up_for(C,a1,a2);
}
/*FI]*/
return R;
}
T6 r63is_subclass_of_aux(T63* C,T0* a1){
T6 R=0;
/*[IF*/
if(r67fast_has((T67*)(oBC63visited),(T0*)C)){
}
else{
r67add_last((T67*)(oBC63visited),(T0*)C);
/*[IF*/
if(((C)->_parent_list/*40*/)!=((void*)(NULL))){
R=r78has_parent((T78*)((C)->_parent_list/*40*/),a1);
}
else if(!(r67fast_has((T67*)(oBC63visited),r63class_any()))){
R=r63is_subclass_of_aux((T63*)(r63class_any()),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
int fBC63mem_fn=0;
T0*oBC63mem_fn=NULL;
T0* r63mem_fn(void){
if(fBC63mem_fn==0){
fBC63mem_fn=1;
{T148*n=malloc(sizeof(*n));
*n=M148;
r148make(n,((T0*)ms63_5012),NULL);
oBC63mem_fn=(T0*)n;
}
}
return oBC63mem_fn;}
void r63set_parent_list(T63* C,T0* a1,T0* a2,T0* a3){
{T78*n=malloc(sizeof(*n));
*n=M78;
r78make(n,(T0*)C,a1,a2,a3);
C->_parent_list=(T0*)n;
}
}
/*No:BASE_CLASS.first_parent_for*/
T6 r63has_creation(T63* C,T0* a1){
T6 R=0;
T0* _cn=NULL;
T0* _bc=NULL;
T0* _cc=NULL;
/*[IF*/
if(((C)->_creation_clause_list/*44*/)==((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_35976);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_position(X83start_position(a1));
r21print_as_error((T21*)(oBC12eh));
}
else{
_cc=r74get_clause((T74*)((C)->_creation_clause_list/*44*/),a1);
/*[IF*/
if((_cc)==((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms13_7398);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X83to_string(a1);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms63_72954);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T64*)((C)->_name/*24*/))->_to_string/*0*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r63error(X83start_position(a1),((T0*)ms13_47));
}
else{
R=1;
_bc=X83origin_base_class(a1);
/*[IF*/
if((_bc)!=((void*)(NULL))){
_cn=(((T63*)_bc))->_name/*24*/;
R=r101gives_permission_to((T101*)((((T75*)_cc))->_clients/*4*/),_cn);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r63error(X83start_position(a1),((T0*)ms63_44356));
}
/*FI]*/
return R;
}
T0* r63expanded_initializer(T63* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_creation_clause_list/*44*/)!=((void*)(NULL))){
R=r74expanded_initializer((T74*)((C)->_creation_clause_list/*44*/),a1);
}
/*FI]*/
return R;
}
T6 r63proper_has(T63* C,T0* a1){
T6 R=0;
R=r92has((T92*)((C)->_feature_dictionary/*60*/),X83to_key(a1));
return R;
}
void r63add_index_clause(T63* C,T0* a1){
/*[IF*/
if(((C)->_index_list/*8*/)==((void*)(NULL))){
{T321*n=malloc(sizeof(*n));
*n=M321;
/*[IRF3.3make*/((((T321*)(n)))->_list)=(se_ma322(1,
a1));
/*]*/
C->_index_list=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r322add_last(((T322*)(((T321*)((C)->_index_list/*8*/))->_list/*0*/)),a1);
/*]*/
}
/*FI]*/
}
/*No:BASE_CLASS.is_generic*/
/*No:BASE_CLASS.isom*/